/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * ventas_sie_promociones.java
 *
 * Created on 5/09/2013, 09:58:05 AM
 */

package sie_invdis;


import java.awt.print.PrinterException;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import java.awt.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;
import java.text.*;
import java.text.ParseException;

import javax.swing.SwingConstants;

import javax.swing.table.DefaultTableCellRenderer;

import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.RefineryUtilities;

/**
 *
 * @author michelle
 */
public class ventas_sie_promociones extends javax.swing.JFrame {

    private javax.swing.table.DefaultTableModel jtable_modelo_promoactivas;
    private javax.swing.table.DefaultTableModel jtable_modelo_ventasxreferencia;
    private javax.swing.table.DefaultTableModel jtable_modelo_resumensub;
    private javax.swing.table.DefaultTableModel jtable_modelo_ventasdoc;
    private javax.swing.table.DefaultTableModel jtable_modelo_puntosaclientes;
    private javax.swing.table.DefaultTableModel jtable_modelo_puntospor;
    private javax.swing.table.DefaultTableModel jtable_modelo_puntosport;
    
        private JTable jtable_tiendas=variables_global.gettabla_tiendas();
        private java.util.Date fechahoy=new Date();
        bd_conexion x = new bd_conexion();
        ResultSet rs = null,rs2 = null;
        private SimpleDateFormat formateadoresta = new SimpleDateFormat("yyyy-MM-dd");
        private SimpleDateFormat formateador = new SimpleDateFormat("dd-MM-yyyy");
      private int visualisa=0,controlcombo=0,eligeindextienda=0,eligeformagrafico=1,tiporeportecreado=1,tamanobloquecorte=14,indice=0,i0=0,i1=0,i2=0,i3=0,i4=0,i5=0,i6=0,centrar=0,icorte=0,controltab=0,i7=0,i8=0,i9=0,i10=0,sihaytotal=0,sihaytotalm=0;
      String cuenta="-1";
    /** Creates new form ventas_sie_promociones */
    public ventas_sie_promociones() {
        this.iniciar_modelo_promomonactiva();
        this.iniciar_modelo_ventasxreferencia();
        this.iniciar_modelo_ressub();
        this.iniciar_modelo_puntospor();
        this.iniciar_modelo_puntosport();
        initComponents();

        jtb_ventasxreferencia.getColumnModel().getColumn(0).setPreferredWidth(35);//fecha
        jtb_ventasxreferencia.getColumnModel().getColumn(1).setPreferredWidth(15);//pedido
        jtb_ventasxreferencia.getColumnModel().getColumn(2).setPreferredWidth(65);//clave
        jtb_ventasxreferencia.getColumnModel().getColumn(3).setPreferredWidth(160);//Descripcion
        jtb_ventasxreferencia.getColumnModel().getColumn(4).setPreferredWidth(20);//cantidad
        jtb_ventasxreferencia.getColumnModel().getColumn(5).setPreferredWidth(20);//cliente
        jtb_ventasxreferencia.getColumnModel().getColumn(6).setPreferredWidth(20);//desc
        jtb_ventasxreferencia.getColumnModel().getColumn(7).setPreferredWidth(30);//desc

        jtb_ventasxreferencia1.getColumnModel().getColumn(0).setPreferredWidth(120);//Promo
        jtb_ventasxreferencia1.getColumnModel().getColumn(1).setPreferredWidth(20);//fecha
        jtb_ventasxreferencia1.getColumnModel().getColumn(2).setPreferredWidth(30);//pedido

        jtb_promomonactiva1.getColumnModel().getColumn(0).setPreferredWidth(160);//fecha
        jt_puntosalcliente.getColumnModel().getColumn(0).setPreferredWidth(160);//fecha
        jtb_promomonactiva.getColumnModel().getColumn(0).setPreferredWidth(160);//fecha

        jt_puntosalcliente1.getColumnModel().getColumn(0).setPreferredWidth(160);//fecha
        
        jt_puntosalcliente2.getColumnModel().getColumn(0).setPreferredWidth(60);//fecha
        jt_puntosalcliente2.getColumnModel().getColumn(1).setPreferredWidth(120);//fecha

          Calendar fechaini = Calendar.getInstance(); // obtiene la fecha actual
        fechaini.set(fechahoy.getYear()+1900,fechahoy.getMonth(), 1);
        this.jdc_fechainicial.setDate(fechaini.getTime());
        this.jdc_fechafinal.setDate(fechahoy);
        this.establecer_promocionesactivasf(this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),this.jtf_idsubfamilia.getText());
visualisa=1;
    }
public ventas_sie_promociones(int opcion,String fecha1,String fecha2,String idtienda,String describetienda,String idsubfam) {
        this.iniciar_modelo_promomonactiva();
        this.iniciar_modelo_ventasxreferencia();
        this.iniciar_modelo_ressub();
        this.iniciar_modelo_puntospor();
        this.iniciar_modelo_puntosport();
        initComponents();
        this.jtf_idsubfamilia.setText(idsubfam);
        jtb_ventasxreferencia.getColumnModel().getColumn(0).setPreferredWidth(35);//fecha
        jtb_ventasxreferencia.getColumnModel().getColumn(1).setPreferredWidth(15);//pedido
        jtb_ventasxreferencia.getColumnModel().getColumn(2).setPreferredWidth(65);//clave
        jtb_ventasxreferencia.getColumnModel().getColumn(3).setPreferredWidth(160);//Descripcion
        jtb_ventasxreferencia.getColumnModel().getColumn(4).setPreferredWidth(20);//cantidad
        jtb_ventasxreferencia.getColumnModel().getColumn(5).setPreferredWidth(20);//cliente
        jtb_ventasxreferencia.getColumnModel().getColumn(6).setPreferredWidth(20);//desc
        jtb_ventasxreferencia.getColumnModel().getColumn(7).setPreferredWidth(30);//desc

        jtb_ventasxreferencia1.getColumnModel().getColumn(0).setPreferredWidth(120);//Promo
        jtb_ventasxreferencia1.getColumnModel().getColumn(1).setPreferredWidth(20);//fecha
        jtb_ventasxreferencia1.getColumnModel().getColumn(2).setPreferredWidth(30);//pedido

        jtb_promomonactiva1.getColumnModel().getColumn(0).setPreferredWidth(160);//fecha
        jt_puntosalcliente.getColumnModel().getColumn(0).setPreferredWidth(160);//fecha
        jtb_promomonactiva.getColumnModel().getColumn(0).setPreferredWidth(160);//fecha

        jt_puntosalcliente1.getColumnModel().getColumn(0).setPreferredWidth(160);//fecha

        jt_puntosalcliente2.getColumnModel().getColumn(0).setPreferredWidth(60);//fecha
        jt_puntosalcliente2.getColumnModel().getColumn(1).setPreferredWidth(120);//fecha

java.util.Date fechaestaeuropa=null;
visualisa=1;
 switch (opcion) {
            case 1:
                //recibe los parametros en fecha americana
                    controlcombo=1;



                    try
                        {
                            fechaestaeuropa = formateador.parse(fecha1);
                            this.jdc_fechainicial.setDate(fechaestaeuropa);
                            this.jdc_fechafinal.setDate(fechaestaeuropa);
                        }
                    catch (ParseException e)
                        {
                            //Error, la cadena de texto no se puede convertir en fecha.
                        }

                    try
                        {
                            fechaestaeuropa = formateador.parse(fecha2);

                            this.jdc_fechafinal.setDate(fechaestaeuropa);
                        }
                    catch (ParseException e)
                        {
                            //Error, la cadena de texto no se puede convertir en fecha.
                        }
                this.establecer_promocionesactivasf(this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),this.jtf_idsubfamilia.getText());

            break;
            case 2:
                //recibe los parametros en fecha americana
                    controlcombo=1;



                    try
                        {
                            fechaestaeuropa = formateador.parse(fecha1);
                            this.jdc_fechainicial.setDate(fechaestaeuropa);
                            this.jdc_fechafinal.setDate(fechaestaeuropa);
                        }
                    catch (ParseException e)
                        {
                            //Error, la cadena de texto no se puede convertir en fecha.
                        }

                    try
                        {
                            fechaestaeuropa = formateador.parse(fecha2);

                            this.jdc_fechafinal.setDate(fechaestaeuropa);
                        }
                    catch (ParseException e)
                        {
                            //Error, la cadena de texto no se puede convertir en fecha.
                        }
                    this.carga_datos_detalletipoventa(2,"0",this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),"");
                    this.carga_datos_puntos(0,"0",this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),"");
                    this.jTabbedPane1.setSelectedIndex(1);
                    indice=1;
            break;            
            default:

                controlcombo=1;

                SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
                String pFechai = formato.format(jdc_fechainicial.getDate());//fecha final de reporte
                String pFecha = formato.format(jdc_fechafinal.getDate());//fecha final de reporte
                if(JOptionPane.showConfirmDialog(null, "Desea Cargar datos?")==0)
                    {
                        this.establecer_promocionesactivasf(this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),this.jtf_idsubfamilia.getText());
                    }
                else
                    {
                        //yacarguediario=0;
                    }

                //this.carga_datos_cobrosxtienda(0, "0", this.fechaamericana(fecha1),this.fechaamericana(fecha2));
            break;

        }

    }

private void iniciar_modelo_promomonactiva()
    {
       
        jtable_modelo_promoactivas=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_ventasdoc=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_puntosaclientes=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_promoactivas.addColumn("Promocion/Tienda");
        jtable_modelo_ventasdoc.addColumn("Promocion/Tienda");
        jtable_modelo_puntosaclientes.addColumn("Cliente/Tienda");
         if (variables_global.getnivelusu()==3)
            {
                    jtable_modelo_promoactivas.addColumn("<html><b>"+variables_global.getidtiendami()+":"+variables_global.getidtiendamidescribe()+"</b></html>");
                    jtable_modelo_ventasdoc.addColumn("<html><b>"+variables_global.getidtiendami()+":"+variables_global.getidtiendamidescribe()+"</b></html>");
                    jtable_modelo_puntosaclientes.addColumn("<html><b>"+variables_global.getidtiendami()+":"+variables_global.getidtiendamidescribe()+"</b></html>");
         }
         else
         {
            String texto="select * from x1distribucion_tiendas_activas(10,'','') as (tie_descri character varying(35),tie_id integer,tie_desesque character varying(25),idclie character varying(12));";
            try{
                rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
                while (rs.next())
                    {
                        jtable_modelo_promoactivas.addColumn("<html><b>"+rs.getString("tie_id")+":"+rs.getString("tie_descri")+"</b></html>");
                        jtable_modelo_ventasdoc.addColumn("<html><b>"+rs.getString("tie_id")+":"+rs.getString("tie_descri")+"</b></html>");
                        jtable_modelo_puntosaclientes.addColumn("<html><b>"+rs.getString("tie_id")+":"+rs.getString("tie_descri")+"</b></html>");
                    }
                }
                catch(Exception e)
                    {
                        System.out.println(e.getMessage());
                    }
         }
     jtable_modelo_promoactivas.addColumn("Total");
     jtable_modelo_ventasdoc.addColumn("Total");
     jtable_modelo_puntosaclientes.addColumn("Total");
  }

private void iniciar_modelo_ventasxreferencia()
        {
            jtable_modelo_ventasxreferencia=new javax.swing.table.DefaultTableModel();//Creo el modelo
            jtable_modelo_ventasxreferencia.addColumn("<html><b>Fecha</b></html>");
            jtable_modelo_ventasxreferencia.addColumn("<html><b>Pedido</b></html>");
            jtable_modelo_ventasxreferencia.addColumn("<html><b>Clave</b></html>");
            jtable_modelo_ventasxreferencia.addColumn("<html><b>Descrip. Articulo</b></html>");
            jtable_modelo_ventasxreferencia.addColumn("<html><b>Cant.</b></html>");
            jtable_modelo_ventasxreferencia.addColumn("<html><b>Precio</b></html>");
            jtable_modelo_ventasxreferencia.addColumn("<html><b>$desc</b></html>");
            jtable_modelo_ventasxreferencia.addColumn("<html><b>Importe</b></html>");
       //para formatear
       //fnewRow[1+ii]=myFormatter.format(importe2);
        }
private void iniciar_modelo_ressub()
        {
            jtable_modelo_resumensub=new javax.swing.table.DefaultTableModel();//Creo el modelo
            jtable_modelo_resumensub.addColumn("<html><b>familia</b></html>");
            jtable_modelo_resumensub.addColumn("<html><b>Cant.</b></html>");
            jtable_modelo_resumensub.addColumn("<html><b>Impote</b></html>");

       //para formatear
       //fnewRow[1+ii]=myFormatter.format(importe2);
        }
private void iniciar_modelo_puntospor()
        {
            jtable_modelo_puntospor=new javax.swing.table.DefaultTableModel();//Creo el modelo
            jtable_modelo_puntospor.addColumn("<html><b>Promocion</b></html>");
            jtable_modelo_puntospor.addColumn("<html><b>Porcentaje</b></html>");
            jtable_modelo_puntospor.addColumn("<html><b>Notas</b></html>");
            jtable_modelo_puntospor.addColumn("<html><b>Monto compras</b></html>");
            jtable_modelo_puntospor.addColumn("<html><b>Monto Puntos</b></html>");
        }
private void iniciar_modelo_puntosport()
        {
            jtable_modelo_puntosport=new javax.swing.table.DefaultTableModel();//Creo el modelo
            jtable_modelo_puntosport.addColumn("<html><b>Tienda</b></html>");
            jtable_modelo_puntosport.addColumn("<html><b>Promocion</b></html>");
            jtable_modelo_puntosport.addColumn("<html><b>Porcentaje</b></html>");
            jtable_modelo_puntosport.addColumn("<html><b>Notas</b></html>");
            jtable_modelo_puntosport.addColumn("<html><b>Monto compras</b></html>");
            jtable_modelo_puntosport.addColumn("<html><b>Monto Puntos</b></html>");
        }


private int findcolumna_idtiendapromomon (String titulo)
    {
        int columnas = jtable_modelo_promoactivas.getColumnCount(),columencontrado=0;
        String columtitulo[]=null;
        for(int j = 0 ;j < columnas ; j++)
                {
                    columtitulo= jtable_modelo_promoactivas.getColumnName(j).replace("<html><b>","").split(":");
                    //System.out.println("Busqueda:"+columtitulo[0]+" "+titulo);
                    if(columtitulo[0].equals(titulo))
                        {
                            columencontrado=j;
                             System.out.println(titulo+" "+columtitulo[0]+" "+columencontrado);
                        }
                }
        return columencontrado;
    }

private void establecer_promocionesactivasf(String busca1,String busca2,String busca3)
{
            //INICIO PROCESO PARA INFORMAR DE LAS PROMOCIONES EN CADA TIENDA
    Object[] fnewRow = new Object[this.jtable_modelo_promoactivas.getColumnCount()];
            String texto="",texto2="",mespartido[]=null;
            java.util.Date fechainicial=new Date();
            DecimalFormat miformat = new DecimalFormat("############.##");
            while(jtable_modelo_promoactivas.getRowCount()>0)jtable_modelo_promoactivas.removeRow(0);
             if (variables_global.getnivelusu()==3)
                 {
                    texto="select * from x1venta_promociones_impacto(4,"+variables_global.getidtiendami()+",'"+busca1+"','"+busca2+"','"+busca3+"') as (idcat integer,iddetdes integer,pz real,importe double precision,importeneto real,descricion text);";
                 }
            else
               {
                    texto="select * from x1venta_promociones_impacto(4,0,'"+busca1+"','"+busca2+"','"+busca3+"') as (idcat integer,iddetdes integer,pz real,importe double precision,importeneto real,descricion text);";
                }
            System.out.println(texto);
                            try{
                                  rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
                                  while (rs.next())
                                    {
                                           mespartido=rs.getString("descricion").split(":");
                                            this.crea_hoja_prommonactiva("PP:"+mespartido[1].toUpperCase().trim(),miformat.format(rs.getFloat("importe")),"","","",this.findcolumna_idtiendapromomon(mespartido[2]));
                                    }//consulto la bd
                                }
                            catch(Exception e)
                                {
                                    System.out.println(e.getMessage());
                                }
  if (variables_global.getnivelusu()==3)
    {
            texto="select * from x1venta_promociones_impacto(3,"+variables_global.getidtiendami()+",'"+busca1+"','"+busca2+"','"+busca3+"') as (idcat integer,pz real,importe double precision,importeneto real,descricion text);";
    }
  else
    {
            texto="select * from x1venta_promociones_impacto(3,0,'"+busca1+"','"+busca2+"','"+busca3+"') as (idcat integer,pz real,importe double precision,importeneto real,descricion text);";
    }
            System.out.println(texto);
                            try{
                                  rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
                                  while (rs.next())
                                    {
                                           mespartido=rs.getString("descricion").split(":");
                                            this.crea_hoja_prommonactiva("PE:"+mespartido[1].toUpperCase().trim(),miformat.format(rs.getFloat("importe")),"","","",this.findcolumna_idtiendapromomon(mespartido[2]));
                                    }//consulto la bd
                                }
                            catch(Exception e)
                                {
                                    System.out.println(e.getMessage());
                                }

        fnewRow[0]="Totales:";
            for( int ii=1;ii<this.jtable_modelo_promoactivas.getColumnCount();ii++)
                {

                                        fnewRow[ii]="0";
                }
             jtable_modelo_promoactivas.addRow(fnewRow);
        this.construir_estadisticaarti();
     }

private void carga_datos_detalle(int opcion,String idtienda,String busca,String busca2,String busca3)
 {
        String fechacat = "",fechallegatienda="",fechaentrega="";
        DecimalFormat miformat = new DecimalFormat("############.##");
        java.util.Date fechahoy=new Date();
        while(jtable_modelo_ventasxreferencia.getRowCount()>0)jtable_modelo_ventasxreferencia.removeRow(0);
        Object[] fnewRow = new Object[8];
        float totpiezas=0;
       //invoco al metodo que trae el recordset de datos
       String arreglo_idtie[]=null;
       String texto="select * from x1venta_pedidos_completo_detallev2("+opcion+",'"+idtienda+"','"+busca+"','"+busca2+"','"+busca3+"','') as (idpedido integer,cns_detpet integer,piezas real,idalmpro integer,descuento real,precio real,idcatdes integer,iddetdes integer,idtipvent integer,importeprecioneto double precision,importepreciosindesc real,idproducto integer,claveproducto character varying(16),productodescribe character varying(80),ultimocosto numeric,familia integer,subfamilia integer,temporadaingreso smallint,importecosto double precision,idstatus integer,fecha date,fecham text,describeprom text);";
       System.out.println(texto);
        try
         {
            rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
            while (rs.next())
                {
                    fnewRow[0]=this.fechaeuropea(rs.getString ("fecha"));
                    fnewRow[1]=rs.getString ("idpedido");
                    fnewRow[2]=rs.getString ("claveproducto");
                    fnewRow[3]=rs.getString ("productodescribe");
                    fnewRow[4]=miformat.format(rs.getFloat("piezas"));
                    fnewRow[5]=miformat.format(rs.getFloat("precio"));
                    fnewRow[6]=miformat.format((rs.getFloat("precio")*rs.getFloat("piezas"))-rs.getFloat("importeprecioneto"));
                    fnewRow[7]=miformat.format(rs.getFloat("importeprecioneto"));
                    jtable_modelo_ventasxreferencia.addRow(fnewRow);
                }
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }
}
private void carga_datos_detallesub(int opcion,String idtienda,String busca,String busca2,String busca3)
 {
        String fechacat = "",fechallegatienda="",fechaentrega="";
        DecimalFormat miformat = new DecimalFormat("############.##");
        java.util.Date fechahoy=new Date();
        while(jtable_modelo_resumensub.getRowCount()>0)jtable_modelo_resumensub.removeRow(0);
        Object[] fnewRow = new Object[3];
        float totpiezas=0;
       //invoco al metodo que trae el recordset de datos
       String arreglo_idtie[]=null;
       String texto="select * from x1venta_pedidos_completo_detallev2("+opcion+",'"+idtienda+"','"+busca+"','"+busca2+"','"+busca3+"','') as (piezas real,importeprecioneto double precision,idsub integer,nombre character varying(50));";
       System.out.println(texto);
        try
         {
            rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
            while (rs.next())
                {
                    fnewRow[0]=rs.getString("idsub")+":"+rs.getString ("nombre");
                    fnewRow[1]=miformat.format(rs.getFloat("piezas"));
                    fnewRow[2]=miformat.format(rs.getFloat("importeprecioneto"));
                    jtable_modelo_resumensub.addRow(fnewRow);
                }
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }
}
private void carga_datos_monpropg(int opcion,String idtienda,String busca,String busca2,String busca3,String tienda)
 {
        String fechacat = "",fechallegatienda="",fechaentrega="";
        DecimalFormat miformat = new DecimalFormat("############.##");
        java.util.Date fechahoy=new Date();
        while(jtable_modelo_puntospor.getRowCount()>0)jtable_modelo_puntospor.removeRow(0);
        Object[] fnewRow = new Object[5];
        float totpiezas=0;
       //invoco al metodo que trae el recordset de datos
       String arreglo_idtie[]=null,texto="";
       texto="select * from x1monedero_promocionimpacto(3,'"+busca+"','"+busca2+"','"+busca3+"','') as (id integer,nombre text,porcen text,regis bigint,monto real,puntos real);";
       System.out.println(texto);
        try
         {
            rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
            while (rs.next())
                {
                    fnewRow[0]=rs.getString ("nombre");
                    fnewRow[1]=rs.getString ("porcen")+"%";
                    fnewRow[2]=miformat.format(rs.getInt("regis"));
                    fnewRow[3]=miformat.format(rs.getFloat("monto"));
                    fnewRow[4]=miformat.format(rs.getFloat("puntos"));
                    jtable_modelo_puntospor.addRow(fnewRow);
                }
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }
}

private void carga_datos_monpropt(int opcion,String idtienda,String busca,String busca2,String busca3,String tienda)
 {
        String fechacat = "",fechallegatienda="",fechaentrega="";
        DecimalFormat miformat = new DecimalFormat("############.##");
        java.util.Date fechahoy=new Date();
        while(jtable_modelo_puntosport.getRowCount()>0)jtable_modelo_puntosport.removeRow(0);
        Object[] fnewRow = new Object[6];
        float totpiezas=0;
       //invoco al metodo que trae el recordset de datos
       String arreglo_idtie[]=null,texto="";
       texto="select * from x1monedero_promocionimpacto(2,'"+busca+"','"+busca2+"','"+busca3+"','"+idtienda+"') as (idt integer,id integer,nombre text,porcen text,regis bigint,monto real,puntos real);";
       System.out.println(texto);
        try
         {
            rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
            while (rs.next())
                {
                    fnewRow[0]=tienda;
                    fnewRow[1]=rs.getString ("nombre");
                    fnewRow[2]=rs.getString ("porcen")+"%";
                    fnewRow[3]=miformat.format(rs.getInt("regis"));
                    fnewRow[4]=miformat.format(rs.getFloat("monto"));
                    fnewRow[5]=miformat.format(rs.getFloat("puntos"));
                    jtable_modelo_puntosport.addRow(fnewRow);
                }
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }
}

private void dioclickpedidos(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
        System.out.println("dio doble  click");
        int fila = jtb_ventasxreferencia.getSelectedRow();
        String columtitulo[]=this.jtf_vatienda.getText().split(":") ;
        ventas_sie_diarioventas_detalle fvsdv=new ventas_sie_diarioventas_detalle(1,columtitulo[0],jtable_modelo_ventasxreferencia.getValueAt(fila, 1).toString().replace("<b>", "").replace("</b>", "").replace("<font color=#0000FF>", "").replace("<font color=#FF6633>", "").replace("<html>", "").replace("</html>", "").replace("<font>", ""),columtitulo[1]);
        fvsdv.pack();
        fvsdv.setVisible(true);
    }

private void construir_estadisticaarti()
    {
         DecimalFormat myFormatter = new DecimalFormat("###,###,###");
         float totalve=0,totalve2=0;
         int totalfilasreporte=this.jtable_modelo_promoactivas.getRowCount()-1,i=0,ii=0;
         int numerotiendas=this.jtable_modelo_promoactivas.getColumnCount()-2;
         //genero los totales por tienda

         for( ii=0;ii<numerotiendas;ii++)
            {
             totalve=0;
             totalve2=0;
                for(i=0;i<totalfilasreporte;i++)
                    {
                        totalve+=Float.valueOf(jtable_modelo_promoactivas.getValueAt(i, ii+1).toString().replace(",",""));

                    }
                    jtable_modelo_promoactivas.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
            }
           totalve=0;
           totalve2=0;
           for(i=0;i<totalfilasreporte;i++)
                  {
                        totalve=0;
                        for( ii=0;ii<numerotiendas;ii++)
                            {
                                totalve+=Float.valueOf(jtable_modelo_promoactivas.getValueAt(i, ii+1).toString().replace(",",""));
                            }
                        jtable_modelo_promoactivas.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
                  }
            totalve=0;
            for(i=0;i<totalfilasreporte;i++)
                    {
                        totalve+=Float.valueOf(jtable_modelo_promoactivas.getValueAt(i, numerotiendas+1).toString().replace(",","").replace("<html><h3><b>", "").replace("</b></h3></html>", ""));

                    }
                    jtable_modelo_promoactivas.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,numerotiendas+1);
     }

private void construir_totalestv()
    {
         DecimalFormat myFormatter = new DecimalFormat("###,###,###");
         float totalve=0,totalve2=0;
         int totalfilasreporte=this.jtable_modelo_ventasdoc.getRowCount()-1,i=0,ii=0;
         int numerotiendas=this.jtable_modelo_ventasdoc.getColumnCount()-2;
         //genero los totales por tienda

         for( ii=0;ii<numerotiendas;ii++)
            {
             totalve=0;
             totalve2=0;
                for(i=0;i<totalfilasreporte;i++)
                    {
                        totalve+=Float.valueOf(jtable_modelo_ventasdoc.getValueAt(i, ii+1).toString().replace(",",""));

                    }
                    jtable_modelo_ventasdoc.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
            }
           totalve=0;
           totalve2=0;
           for(i=0;i<totalfilasreporte;i++)
                  {
                        totalve=0;
                        for( ii=0;ii<numerotiendas;ii++)
                            {
                                totalve+=Float.valueOf(jtable_modelo_ventasdoc.getValueAt(i, ii+1).toString().replace(",",""));
                            }
                        jtable_modelo_ventasdoc.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
                  }
            totalve=0;
            for(i=0;i<totalfilasreporte;i++)
                    {
                        totalve+=Float.valueOf(jtable_modelo_ventasdoc.getValueAt(i, numerotiendas+1).toString().replace(",","").replace("<html><h3><b>", "").replace("</b></h3></html>", ""));

                    }
                    jtable_modelo_ventasdoc.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,numerotiendas+1);
     }
private void construir_totalespuntos()
    {
         DecimalFormat myFormatter = new DecimalFormat("###,###,###");
         float totalve=0,totalve2=0;
         int totalfilasreporte=this.jtable_modelo_puntosaclientes.getRowCount()-1,i=0,ii=0;
         int numerotiendas=this.jtable_modelo_puntosaclientes.getColumnCount()-2;
         //genero los totales por tienda

         for( ii=0;ii<numerotiendas;ii++)
            {
             totalve=0;
             totalve2=0;
                for(i=0;i<totalfilasreporte;i++)
                    {
                        totalve+=Float.valueOf(jtable_modelo_puntosaclientes.getValueAt(i, ii+1).toString().replace(",",""));

                    }
                    jtable_modelo_puntosaclientes.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
            }
           totalve=0;
           totalve2=0;
           for(i=0;i<totalfilasreporte;i++)
                  {
                        totalve=0;
                        for( ii=0;ii<numerotiendas;ii++)
                            {
                                totalve+=Float.valueOf(jtable_modelo_puntosaclientes.getValueAt(i, ii+1).toString().replace(",",""));
                            }
                        jtable_modelo_puntosaclientes.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
                  }
            totalve=0;
            for(i=0;i<totalfilasreporte;i++)
                    {
                        totalve+=Float.valueOf(jtable_modelo_puntosaclientes.getValueAt(i, numerotiendas+1).toString().replace(",","").replace("<html><h3><b>", "").replace("</b></h3></html>", ""));

                    }
                    jtable_modelo_puntosaclientes.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,numerotiendas+1);
     }
private void crea_hoja_prommonactiva(String mes,String porcen,String fechai,String fechaf,String nombre,int columna)
    {
        DecimalFormat miformat = new DecimalFormat("###,###,###");
        String mesactual=null,comfi="",comff="";
        int ii=00,encontrado=0;
        Object[] fnewRow = new Object[this.jtable_modelo_promoactivas.getColumnCount()];

        System.out.println("Agregando:"+mesactual+" "+mes);
        for( ii=0;ii<this.jtable_modelo_promoactivas.getRowCount();ii++)
                {
                    mesactual=jtable_modelo_promoactivas.getValueAt(ii, 0).toString().replace("<html><p align=justify><b>", "").replace("<html><p align=justify>", "").replace("<html><p align=justify><b>", "").replace("<b></p></html>", "").replace("</p></html>", "");
                    if (mesactual.equals(mes))
                        {
                            encontrado=1;
                            jtable_modelo_promoactivas.setValueAt(porcen+"",ii ,columna);
                        }
                }
 if(encontrado==0)
            {
            fnewRow[0]=mes;
            for( ii=1;ii<this.jtable_modelo_promoactivas.getColumnCount();ii++)
                {
                               //System.out.println(idfamilia+":"+familiadescribe);
                               if(ii==columna)
                                    {
                                        fnewRow[ii]=porcen+"";
                                    }
                               else
                                    {
                                        fnewRow[ii]="0";
                                    }
                }
             jtable_modelo_promoactivas.addRow(fnewRow);
           }
}
private void crea_hoja_tiventa(String mes,String porcen,int columna)
    {
        DecimalFormat miformat = new DecimalFormat("###,###,###");
        String mesactual=null,comfi="",comff="";
        int ii=00,encontrado=0;
        Object[] fnewRow = new Object[this.jtable_modelo_promoactivas.getColumnCount()];

        System.out.println("Agregando:"+mesactual+" "+mes);
if (columna>0)
{
        for( ii=0;ii<this.jtable_modelo_ventasdoc.getRowCount();ii++)
                {
                    mesactual=jtable_modelo_ventasdoc.getValueAt(ii, 0).toString().replace("<html><p align=justify><b>", "").replace("<html><p align=justify>", "").replace("<html><p align=justify><b>", "").replace("<b></p></html>", "").replace("</p></html>", "");
                    if (mesactual.equals(mes))
                        {
                            encontrado=1;
                            jtable_modelo_ventasdoc.setValueAt(porcen+"",ii ,columna);
                        }
                }
 if(encontrado==0)
            {
            fnewRow[0]=mes;
            for( ii=1;ii<this.jtable_modelo_ventasdoc.getColumnCount();ii++)
                {
                               //System.out.println(idfamilia+":"+familiadescribe);
                               if(ii==columna)
                                    {
                                        fnewRow[ii]=porcen+"";
                                    }
                               else
                                    {
                                        fnewRow[ii]="0";
                                    }
                }
             jtable_modelo_ventasdoc.addRow(fnewRow);
           }
}
}
private void crea_hoja_puntos(String mes,String porcen,int columna)
    {
        DecimalFormat miformat = new DecimalFormat("###,###,###");
        String mesactual=null,comfi="",comff="";
        int ii=00,encontrado=0;
        Object[] fnewRow = new Object[this.jtable_modelo_puntosaclientes.getColumnCount()];

        System.out.println("Agregando:"+mesactual+" "+mes);
if (columna>0)
{
        for( ii=0;ii<this.jtable_modelo_puntosaclientes.getRowCount();ii++)
                {
                    mesactual=jtable_modelo_puntosaclientes.getValueAt(ii, 0).toString().replace("<html><p align=justify><b>", "").replace("<html><p align=justify>", "").replace("<html><p align=justify><b>", "").replace("<b></p></html>", "").replace("</p></html>", "");
                    if (mesactual.equals(mes))
                        {
                            encontrado=1;
                            jtable_modelo_puntosaclientes.setValueAt(porcen+"",ii ,columna);
                        }
                }
 if(encontrado==0)
            {
            fnewRow[0]=mes;
            for( ii=1;ii<this.jtable_modelo_puntosaclientes.getColumnCount();ii++)
                {
                               //System.out.println(idfamilia+":"+familiadescribe);
                               if(ii==columna)
                                    {
                                        fnewRow[ii]=porcen+"";
                                    }
                               else
                                    {
                                        fnewRow[ii]="0";
                                    }
                }
             jtable_modelo_puntosaclientes.addRow(fnewRow);
           }
}
}
    private String  fechaeuropea(Date fecha) {
       SimpleDateFormat formateadorestaeuropa = new SimpleDateFormat("dd-MM-yyyy");
       String cadenafecha="";

       cadenafecha= formateadorestaeuropa.format(fecha);
       return cadenafecha;

    }

    private void carga_datos_detalletipoventa(int opcion,String idtienda,String busca,String busca2,String busca3)
 {
        String fechacat = "",fechallegatienda="",fechaentrega="";
        DecimalFormat miformat = new DecimalFormat("############.##");
        java.util.Date fechahoy=new Date();
        while(jtable_modelo_ventasdoc.getRowCount()>0)jtable_modelo_ventasdoc.removeRow(0);
        Object[] fnewRow = new Object[this.jtable_modelo_ventasdoc.getColumnCount()];
        float totpiezas=0;
       //invoco al metodo que trae el recordset de datos
       String mespartido[]=null,texto;
         texto="select * from x1venta_deldia_conmonederos(2,0,'"+busca+"','"+busca2+"','') as (notas bigint,fechatexto text);";
                    System.out.println(texto);
                            try{
                                 rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
                                  while (rs.next())
                                    {
                                        if(rs.getString("notas")!=null)
                                            {
                                                mespartido=rs.getString("fechatexto").split(":");
                                                this.crea_hoja_tiventa("1:Monederos",rs.getString("notas"),this.findcolumna_idtiendapromomon(mespartido[2]));
                                            }
                                    }//consulto la bd
                                }
                            catch(Exception e)
                                {
                                    System.out.println(e.getMessage());
                                }
         texto="select * from x1venta_deldia_conmonederos(3,0,'"+busca+"','"+busca2+"','') as (notas bigint,fechatexto text);";
                    System.out.println(texto);
                            try{
                                 rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
                                  while (rs.next())
                                    {
                                        if(rs.getString("notas")!=null)
                                            {
                                                mespartido=rs.getString("fechatexto").split(":");
                                                this.crea_hoja_tiventa("2:Publico Gen.",rs.getString("notas"),this.findcolumna_idtiendapromomon(mespartido[2]));
                                            }
                                    }//consulto la bd
                                }
                            catch(Exception e)
                                {
                                    System.out.println(e.getMessage());
                                }

        fnewRow[0]="Total Notas:";
            for( int ii=1;ii<this.jtable_modelo_ventasdoc.getColumnCount();ii++)
                {

                                        fnewRow[ii]="0";
                }
             jtable_modelo_ventasdoc.addRow(fnewRow);
        this.construir_totalestv();
}
private void carga_datos_puntos(int opcion,String idtienda,String busca,String busca2,String busca3)
 {
        String fechacat = "",fechallegatienda="",fechaentrega="",texto="";
        DecimalFormat miformat = new DecimalFormat("############.##");
        java.util.Date fechahoy=new Date();
        while(jtable_modelo_puntosaclientes.getRowCount()>0)jtable_modelo_puntosaclientes.removeRow(0);
        Object[] fnewRow = new Object[this.jtable_modelo_puntosaclientes.getColumnCount()];
         texto="select * from x1monedero_promocionimpacto(1,'"+busca+"','"+busca2+"','','') as (id integer,monto real,puntos real, idt integer,nombre text);";
                    System.out.println(texto);
                            try{
                                 rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
                                  while (rs.next())
                                    {
                                                this.crea_hoja_puntos(rs.getString("id")+":"+rs.getString("nombre").toUpperCase(),miformat.format(rs.getFloat("puntos")),this.findcolumna_idtiendapromomon(rs.getString("idt")));

                                    }//consulto la bd
                                }
                            catch(Exception e)
                                {
                                    System.out.println(e.getMessage());
                                }

        fnewRow[0]="Totales:";
            for( int ii=1;ii<this.jtable_modelo_puntosaclientes.getColumnCount();ii++)
                {

                                        fnewRow[ii]="0";
                }
             jtable_modelo_puntosaclientes.addRow(fnewRow);
        this.construir_totalespuntos();
}


    private String fechaamericana(Date fe) {
       SimpleDateFormat formateadorestaeuropa = new SimpleDateFormat("yyyy-MM-dd");
       String cadenafecha="";
       cadenafecha= formateadorestaeuropa.format(fe);
       return cadenafecha;

    }
    private String  fechaamericana(String fecha) {

         //resibe cadena de fecha en formato americano dd-MM-yyyy
        java.util.Date fechaestaeuropa=null;
       SimpleDateFormat formateadorestaamericano = new SimpleDateFormat("yyyy-MM-dd");
       String cadenafecha="";
        try
         {
          fechaestaeuropa = formateador.parse(fecha);
         }
        catch (ParseException e)
          {
             //Error, la cadena de texto no se puede convertir en fecha.
          }
       cadenafecha= formateadorestaamericano.format(fechaestaeuropa);
       return cadenafecha;

    }

    private String  fechaeuropea(String fecha) {

         //resibe cadena de fecha en formato americano yyyy-MM-dd
        java.util.Date fechaestaeuropa=null;
       SimpleDateFormat formateadorestaeuropa = new SimpleDateFormat("dd-MM-yyyy");
       String cadenafecha="";
        try
         {
          fechaestaeuropa = formateadoresta.parse(fecha);
         }
        catch (ParseException e)
          {
             //Error, la cadena de texto no se puede convertir en fecha.
          }
       cadenafecha= formateadorestaeuropa.format(fechaestaeuropa);
       return cadenafecha;

    }

private void dioclickcajag(java.awt.event.MouseEvent evt) {

        int fila = jtb_promomonactiva.getSelectedRow();
        String idcuenta[]=null,fecha[]=null;
         int columna =jtb_promomonactiva.getSelectedColumn();
        String columtitulo[]= jtb_promomonactiva.getColumnName(columna).replace("<html><b>","").replace("</b></html>","").split(":");
       idcuenta = jtable_modelo_promoactivas.getValueAt(fila, 0).toString().replace("<html><h3><b>","").replace("<html><h4><b>","").replace("<font color=red>","").split(":");
if(columna>0)
{
    if(JOptionPane.showConfirmDialog(null, "<html><b><h2>Desea Ver Estadistica Tienda:"+columtitulo[1]+"<br>Promocion:"+idcuenta[1]+"</h2><b></html>")==0)
            {
        this.jtf_vatienda.setText(columtitulo[0]+":"+columtitulo[1]);
        this.jtf_vapromocion.setText(idcuenta[1]);

        if(idcuenta[0].equals("PP"))
            {
                this.carga_datos_detalle(5,columtitulo[0],this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),idcuenta[1]);
                this.carga_datos_detallesub(9,columtitulo[0],this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),idcuenta[1]);
            }
        else
            {
                this.carga_datos_detalle(8,columtitulo[0],this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),idcuenta[1]);
                this.carga_datos_detallesub(7,columtitulo[0],this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),idcuenta[1]);
            }
        }
}
}
private void dioclickpromp(java.awt.event.MouseEvent evt) {

        int fila = jt_puntosalcliente.getSelectedRow();
        String idcuenta[]=null,fecha[]=null;
         int columna =jt_puntosalcliente.getSelectedColumn();
        String columtitulo[]= jtable_modelo_puntosaclientes.getColumnName(columna).replace("<html><b>","").replace("</b></html>","").split(":");
       idcuenta = jtable_modelo_puntosaclientes.getValueAt(fila, 0).toString().replace("<html><h3><b>","").replace("<html><h4><b>","").replace("<font color=red>","").split(":");
       if(cuenta.equals(idcuenta[0]))
        {
        }
       else
        {
                this.carga_datos_monpropg(5,"0",this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),idcuenta[0],"");
                cuenta=idcuenta[0];

        }
if(columna>0)
{
    if(JOptionPane.showConfirmDialog(null, "<html><b><h2>Desea Ver Estadistica Tienda:"+columtitulo[1]+"<br>Promocion:"+idcuenta[1]+"</h2><b></html>")==0)
            {
                this.carga_datos_monpropt(5,columtitulo[0],this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),idcuenta[0],columtitulo[1]);

           }
}
}


    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        buttonGroup1 = new javax.swing.ButtonGroup();
        jPanel2 = new javax.swing.JPanel();
        jLabel3 = new javax.swing.JLabel();
        jrbtn_estemes = new javax.swing.JRadioButton();
        jrbtn_hoy = new javax.swing.JRadioButton();
        jrbtn_estasemana = new javax.swing.JRadioButton();
        jrbtn_semanapasada = new javax.swing.JRadioButton();
        jrbtn_mespasada = new javax.swing.JRadioButton();
        jRadioButton1 = new javax.swing.JRadioButton();
        jrbtn_estemes1 = new javax.swing.JRadioButton();
        jLabel1 = new javax.swing.JLabel();
        jdc_fechainicial = new com.toedter.calendar.JDateChooser();
        jLabel2 = new javax.swing.JLabel();
        jdc_fechafinal = new com.toedter.calendar.JDateChooser();
        jbtn_totalesdia = new javax.swing.JButton();
        jtf_idsubfamilia = new javax.swing.JTextField();
        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel1 = new javax.swing.JPanel();
        jScrollPane14 = new javax.swing.JScrollPane();
        jtb_promomonactiva = new javax.swing.JTable()
        {
            public boolean isCellEditable(int rowIndex, int mColIndex)
            {
                //    if (mColIndex < 3)
                return false;
                //else
                //return true;
            }
        }
        ;
        jPanel3 = new javax.swing.JPanel();
        jScrollPane8 = new javax.swing.JScrollPane();
        jtb_ventasxreferencia = new javax.swing.JTable(){
            public boolean isCellEditable(int rowIndex, int mColIndex) {
                return false;
            }}
            ;
            jtf_vatienda = new javax.swing.JTextField();
            jtf_vapromocion = new javax.swing.JTextField();
            jPanel4 = new javax.swing.JPanel();
            jScrollPane9 = new javax.swing.JScrollPane();
            jtb_ventasxreferencia1 = new javax.swing.JTable(){
                public boolean isCellEditable(int rowIndex, int mColIndex) {
                    return false;
                }}
                ;
                jPanel5 = new javax.swing.JPanel();
                jPanel6 = new javax.swing.JPanel();
                jScrollPane15 = new javax.swing.JScrollPane();
                jtb_promomonactiva1 = new javax.swing.JTable()
                {
                    public boolean isCellEditable(int rowIndex, int mColIndex)
                    {
                        //    if (mColIndex < 3)
                        return false;
                        //else
                        //return true;
                    }
                }
                ;
                jPanel7 = new javax.swing.JPanel();
                jScrollPane3 = new javax.swing.JScrollPane();
                jt_puntosalcliente = new javax.swing.JTable()
                {
                    public boolean isCellEditable(int rowIndex, int mColIndex) {
                        return false;
                    }}

                    ;
                    jScrollPane4 = new javax.swing.JScrollPane();
                    jt_puntosalcliente1 = new javax.swing.JTable()
                    {
                        public boolean isCellEditable(int rowIndex, int mColIndex) {
                            return false;
                        }}

                        ;
                        jScrollPane5 = new javax.swing.JScrollPane();
                        jt_puntosalcliente2 = new javax.swing.JTable()
                        {
                            public boolean isCellEditable(int rowIndex, int mColIndex) {
                                return false;
                            }}

                            ;
                            jMenuBar1 = new javax.swing.JMenuBar();
                            jMenu1 = new javax.swing.JMenu();
                            jmni_salir = new javax.swing.JMenuItem();
                            jMenu2 = new javax.swing.JMenu();
                            jmni_escape = new javax.swing.JMenuItem();

                            setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
                            org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(sie_invdis.Sie_invdisApp.class).getContext().getResourceMap(ventas_sie_promociones.class);
                            setTitle(resourceMap.getString("Form.title")); // NOI18N
                            setName("Form"); // NOI18N

                            jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel2.border.title"))); // NOI18N
                            jPanel2.setName("jPanel2"); // NOI18N

                            jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N
                            jLabel3.setName("jLabel3"); // NOI18N

                            buttonGroup1.add(jrbtn_estemes);
                            jrbtn_estemes.setText(resourceMap.getString("jrbtn_estemes.text")); // NOI18N
                            jrbtn_estemes.setToolTipText(resourceMap.getString("jrbtn_estemes.toolTipText")); // NOI18N
                            jrbtn_estemes.setName("jrbtn_estemes"); // NOI18N
                            jrbtn_estemes.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jrbtn_estemesActionPerformed(evt);
                                }
                            });

                            buttonGroup1.add(jrbtn_hoy);
                            jrbtn_hoy.setText(resourceMap.getString("jrbtn_hoy.text")); // NOI18N
                            jrbtn_hoy.setToolTipText(resourceMap.getString("jrbtn_hoy.toolTipText")); // NOI18N
                            jrbtn_hoy.setName("jrbtn_hoy"); // NOI18N
                            jrbtn_hoy.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jrbtn_hoyActionPerformed(evt);
                                }
                            });

                            buttonGroup1.add(jrbtn_estasemana);
                            jrbtn_estasemana.setText(resourceMap.getString("jrbtn_estasemana.text")); // NOI18N
                            jrbtn_estasemana.setToolTipText(resourceMap.getString("jrbtn_estasemana.toolTipText")); // NOI18N
                            jrbtn_estasemana.setName("jrbtn_estasemana"); // NOI18N
                            jrbtn_estasemana.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jrbtn_estasemanaActionPerformed(evt);
                                }
                            });

                            buttonGroup1.add(jrbtn_semanapasada);
                            jrbtn_semanapasada.setText(resourceMap.getString("jrbtn_semanapasada.text")); // NOI18N
                            jrbtn_semanapasada.setToolTipText(resourceMap.getString("jrbtn_semanapasada.toolTipText")); // NOI18N
                            jrbtn_semanapasada.setName("jrbtn_semanapasada"); // NOI18N
                            jrbtn_semanapasada.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jrbtn_semanapasadaActionPerformed(evt);
                                }
                            });

                            buttonGroup1.add(jrbtn_mespasada);
                            jrbtn_mespasada.setText(resourceMap.getString("jrbtn_mespasada.text")); // NOI18N
                            jrbtn_mespasada.setToolTipText(resourceMap.getString("jrbtn_mespasada.toolTipText")); // NOI18N
                            jrbtn_mespasada.setName("jrbtn_mespasada"); // NOI18N
                            jrbtn_mespasada.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jrbtn_mespasadaActionPerformed(evt);
                                }
                            });

                            buttonGroup1.add(jRadioButton1);
                            jRadioButton1.setText(resourceMap.getString("jRadioButton1.text")); // NOI18N
                            jRadioButton1.setToolTipText(resourceMap.getString("jRadioButton1.toolTipText")); // NOI18N
                            jRadioButton1.setName("jRadioButton1"); // NOI18N
                            jRadioButton1.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jRadioButton1ActionPerformed(evt);
                                }
                            });

                            buttonGroup1.add(jrbtn_estemes1);
                            jrbtn_estemes1.setText(resourceMap.getString("jrbtn_estemes1.text")); // NOI18N
                            jrbtn_estemes1.setToolTipText(resourceMap.getString("jrbtn_estemes1.toolTipText")); // NOI18N
                            jrbtn_estemes1.setName("jrbtn_estemes1"); // NOI18N
                            jrbtn_estemes1.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jrbtn_estemes1ActionPerformed(evt);
                                }
                            });

                            jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
                            jLabel1.setName("jLabel1"); // NOI18N

                            jdc_fechainicial.setToolTipText(resourceMap.getString("jdc_fechainicial.toolTipText")); // NOI18N
                            jdc_fechainicial.setDateFormatString(resourceMap.getString("jdc_fechainicial.dateFormatString")); // NOI18N
                            jdc_fechainicial.setName("jdc_fechainicial"); // NOI18N
                            jdc_fechainicial.addKeyListener(new java.awt.event.KeyAdapter() {
                                public void keyPressed(java.awt.event.KeyEvent evt) {
                                    jdc_fechainicialKeyPressed(evt);
                                }
                            });

                            jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
                            jLabel2.setName("jLabel2"); // NOI18N

                            jdc_fechafinal.setToolTipText(resourceMap.getString("jdc_fechafinal.toolTipText")); // NOI18N
                            jdc_fechafinal.setDateFormatString(resourceMap.getString("jdc_fechafinal.dateFormatString")); // NOI18N
                            jdc_fechafinal.setMaxSelectableDate(new java.util.Date(253370790102000L));
                            jdc_fechafinal.setName("jdc_fechafinal"); // NOI18N

                            jbtn_totalesdia.setIcon(resourceMap.getIcon("jbtn_totalesdia.icon")); // NOI18N
                            jbtn_totalesdia.setText(resourceMap.getString("jbtn_totalesdia.text")); // NOI18N
                            jbtn_totalesdia.setToolTipText(resourceMap.getString("jbtn_totalesdia.toolTipText")); // NOI18N
                            jbtn_totalesdia.setName("jbtn_totalesdia"); // NOI18N
                            jbtn_totalesdia.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jbtn_totalesdiaActionPerformed(evt);
                                }
                            });

                            jtf_idsubfamilia.setEditable(false);
                            jtf_idsubfamilia.setText(resourceMap.getString("jtf_idsubfamilia.text")); // NOI18N
                            jtf_idsubfamilia.setName("jtf_idsubfamilia"); // NOI18N

                            javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
                            jPanel2.setLayout(jPanel2Layout);
                            jPanel2Layout.setHorizontalGroup(
                                jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(jdc_fechainicial, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(21, 21, 21)
                                    .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(jdc_fechafinal, javax.swing.GroupLayout.PREFERRED_SIZE, 148, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(69, 69, 69)
                                    .addComponent(jbtn_totalesdia, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 184, Short.MAX_VALUE)
                                    .addComponent(jtf_idsubfamilia, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(48, 48, 48))
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addContainerGap()
                                    .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(16, 16, 16)
                                    .addComponent(jrbtn_hoy)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(jRadioButton1)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(jrbtn_estasemana)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(jrbtn_semanapasada)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(jrbtn_estemes)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(jrbtn_estemes1)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(jrbtn_mespasada)
                                    .addContainerGap(346, Short.MAX_VALUE))
                            );
                            jPanel2Layout.setVerticalGroup(
                                jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(jbtn_totalesdia)
                                                .addComponent(jtf_idsubfamilia, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                            .addGroup(jPanel2Layout.createSequentialGroup()
                                                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                                    .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                    .addComponent(jdc_fechainicial, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                    .addComponent(jdc_fechafinal, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                                .addGap(5, 5, 5)))
                                        .addComponent(jLabel2))
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(jLabel3)
                                        .addComponent(jrbtn_estasemana, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(jrbtn_mespasada, javax.swing.GroupLayout.PREFERRED_SIZE, 13, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(jrbtn_estemes1, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(jrbtn_estemes, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(jrbtn_semanapasada, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(jRadioButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(jrbtn_hoy, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            );

                            jTabbedPane1.setName("jTabbedPane1"); // NOI18N
                            jTabbedPane1.addChangeListener(new javax.swing.event.ChangeListener() {
                                public void stateChanged(javax.swing.event.ChangeEvent evt) {
                                    jTabbedPane1StateChanged(evt);
                                }
                            });
                            jTabbedPane1.addAncestorListener(new javax.swing.event.AncestorListener() {
                                public void ancestorMoved(javax.swing.event.AncestorEvent evt) {
                                }
                                public void ancestorAdded(javax.swing.event.AncestorEvent evt) {
                                    jTabbedPane1AncestorAdded(evt);
                                }
                                public void ancestorRemoved(javax.swing.event.AncestorEvent evt) {
                                }
                            });

                            jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
                            jPanel1.setName("jPanel1"); // NOI18N

                            jScrollPane14.setName("jScrollPane14"); // NOI18N

                            jtb_promomonactiva.setModel(this.jtable_modelo_promoactivas);
                            jtb_promomonactiva.setName("jtb_promomonactiva"); // NOI18N
                            jtb_promomonactiva.setRowHeight(26);
                            jtb_promomonactiva.addMouseListener(new java.awt.event.MouseAdapter() {
                                public void mouseClicked(java.awt.event.MouseEvent evt) {
                                    jtb_promomonactivaMouseClicked(evt);
                                    if(evt.getClickCount() >= 1)
                                    {
                                        dioclickcajag(evt);
                                        //System.out.println(" double click" );

                                    }
                                }
                            });
                            jScrollPane14.setViewportView(jtb_promomonactiva);

                            jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel3.border.title"))); // NOI18N
                            jPanel3.setName("jPanel3"); // NOI18N

                            jScrollPane8.setName("jScrollPane8"); // NOI18N

                            jtb_ventasxreferencia.setModel(this.jtable_modelo_ventasxreferencia);
                            jtb_ventasxreferencia.setName("jtb_ventasxreferencia"); // NOI18N
                            jtb_ventasxreferencia.setRowHeight(26);
                            jtb_ventasxreferencia.addMouseListener(new java.awt.event.MouseAdapter() {
                                public void mouseClicked(java.awt.event.MouseEvent evt) {
                                    jtb_ventasxreferenciaMouseClicked(evt);
                                    if(evt.getClickCount() >= 2)
                                    {
                                        dioclickpedidos(evt);
                                        //System.out.println(" double click" );

                                    }
                                }
                            });
                            jScrollPane8.setViewportView(jtb_ventasxreferencia);

                            jtf_vatienda.setEditable(false);
                            jtf_vatienda.setFont(resourceMap.getFont("jtf_vatienda.font")); // NOI18N
                            jtf_vatienda.setText(resourceMap.getString("jtf_vatienda.text")); // NOI18N
                            jtf_vatienda.setName("jtf_vatienda"); // NOI18N

                            jtf_vapromocion.setEditable(false);
                            jtf_vapromocion.setFont(resourceMap.getFont("jtf_vapromocion.font")); // NOI18N
                            jtf_vapromocion.setName("jtf_vapromocion"); // NOI18N

                            javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
                            jPanel3.setLayout(jPanel3Layout);
                            jPanel3Layout.setHorizontalGroup(
                                jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel3Layout.createSequentialGroup()
                                    .addComponent(jtf_vatienda, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jtf_vapromocion, javax.swing.GroupLayout.DEFAULT_SIZE, 461, Short.MAX_VALUE))
                                .addComponent(jScrollPane8, javax.swing.GroupLayout.DEFAULT_SIZE, 647, Short.MAX_VALUE)
                            );
                            jPanel3Layout.setVerticalGroup(
                                jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel3Layout.createSequentialGroup()
                                    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(jtf_vatienda, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(jtf_vapromocion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jScrollPane8, javax.swing.GroupLayout.DEFAULT_SIZE, 341, Short.MAX_VALUE))
                            );

                            jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel4.border.title"))); // NOI18N
                            jPanel4.setName("jPanel4"); // NOI18N

                            jScrollPane9.setName("jScrollPane9"); // NOI18N

                            jtb_ventasxreferencia1.setModel(this.jtable_modelo_resumensub);
                            jtb_ventasxreferencia1.setName("jtb_ventasxreferencia1"); // NOI18N
                            jtb_ventasxreferencia1.setRowHeight(26);
                            jScrollPane9.setViewportView(jtb_ventasxreferencia1);

                            javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
                            jPanel4.setLayout(jPanel4Layout);
                            jPanel4Layout.setHorizontalGroup(
                                jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane9, javax.swing.GroupLayout.DEFAULT_SIZE, 314, Short.MAX_VALUE)
                            );
                            jPanel4Layout.setVerticalGroup(
                                jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane9, javax.swing.GroupLayout.DEFAULT_SIZE, 369, Short.MAX_VALUE)
                            );

                            javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
                            jPanel1.setLayout(jPanel1Layout);
                            jPanel1Layout.setHorizontalGroup(
                                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane14, javax.swing.GroupLayout.DEFAULT_SIZE, 999, Short.MAX_VALUE)
                                .addGroup(jPanel1Layout.createSequentialGroup()
                                    .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            );
                            jPanel1Layout.setVerticalGroup(
                                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel1Layout.createSequentialGroup()
                                    .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                        .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                            );

                            jTabbedPane1.addTab(resourceMap.getString("jPanel1.TabConstraints.tabTitle"), jPanel1); // NOI18N

                            jPanel5.setName("jPanel5"); // NOI18N

                            jPanel6.setName("jPanel6"); // NOI18N

                            jScrollPane15.setName("jScrollPane15"); // NOI18N

                            jtb_promomonactiva1.setModel(this.jtable_modelo_ventasdoc);
                            jtb_promomonactiva1.setName("jtb_promomonactiva1"); // NOI18N
                            jtb_promomonactiva1.setRowHeight(26);
                            jScrollPane15.setViewportView(jtb_promomonactiva1);

                            javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
                            jPanel6.setLayout(jPanel6Layout);
                            jPanel6Layout.setHorizontalGroup(
                                jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane15, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 1003, Short.MAX_VALUE)
                            );
                            jPanel6Layout.setVerticalGroup(
                                jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane15, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
                            );

                            jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel7.border.title"))); // NOI18N
                            jPanel7.setName("jPanel7"); // NOI18N

                            jScrollPane3.setName("jScrollPane3"); // NOI18N

                            jt_puntosalcliente.setModel(this.jtable_modelo_puntosaclientes);
                            jt_puntosalcliente.setName("jt_puntosalcliente"); // NOI18N
                            jt_puntosalcliente.setRowHeight(26);
                            jt_puntosalcliente.addMouseListener(new java.awt.event.MouseAdapter() {
                                public void mouseClicked(java.awt.event.MouseEvent evt) {
                                    jt_puntosalclienteMouseClicked(evt);
                                    if(evt.getClickCount() >= 1)
                                    {
                                        dioclickpromp(evt);
                                        //System.out.println(" double click" );

                                    }
                                }
                            });
                            jScrollPane3.setViewportView(jt_puntosalcliente);

                            jScrollPane4.setName("jScrollPane4"); // NOI18N

                            jt_puntosalcliente1.setModel(this.jtable_modelo_puntospor);
                            jt_puntosalcliente1.setName("jt_puntosalcliente1"); // NOI18N
                            jt_puntosalcliente1.setRowHeight(26);
                            jScrollPane4.setViewportView(jt_puntosalcliente1);

                            jScrollPane5.setName("jScrollPane5"); // NOI18N

                            jt_puntosalcliente2.setModel(this.jtable_modelo_puntosport);
                            jt_puntosalcliente2.setName("jt_puntosalcliente2"); // NOI18N
                            jt_puntosalcliente2.setRowHeight(26);
                            jScrollPane5.setViewportView(jt_puntosalcliente2);

                            javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
                            jPanel7.setLayout(jPanel7Layout);
                            jPanel7Layout.setHorizontalGroup(
                                jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 987, Short.MAX_VALUE)
                                .addGroup(jPanel7Layout.createSequentialGroup()
                                    .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 41, Short.MAX_VALUE)
                                    .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 494, javax.swing.GroupLayout.PREFERRED_SIZE))
                            );
                            jPanel7Layout.setVerticalGroup(
                                jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel7Layout.createSequentialGroup()
                                    .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 178, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 219, Short.MAX_VALUE)
                                        .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 219, Short.MAX_VALUE)))
                            );

                            javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
                            jPanel5.setLayout(jPanel5Layout);
                            jPanel5Layout.setHorizontalGroup(
                                jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jPanel6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            );
                            jPanel5Layout.setVerticalGroup(
                                jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel5Layout.createSequentialGroup()
                                    .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            );

                            jTabbedPane1.addTab(resourceMap.getString("jPanel5.TabConstraints.tabTitle"), jPanel5); // NOI18N

                            jMenuBar1.setName("jMenuBar1"); // NOI18N

                            jMenu1.setText(resourceMap.getString("jMenu1.text")); // NOI18N
                            jMenu1.setName("jMenu1"); // NOI18N

                            jmni_salir.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.ALT_MASK));
                            jmni_salir.setIcon(resourceMap.getIcon("jmni_salir.icon")); // NOI18N
                            jmni_salir.setText(resourceMap.getString("jmni_salir.text")); // NOI18N
                            jmni_salir.setName("jmni_salir"); // NOI18N
                            jmni_salir.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jmni_salirActionPerformed(evt);
                                }
                            });
                            jMenu1.add(jmni_salir);

                            jMenuBar1.add(jMenu1);

                            jMenu2.setText(resourceMap.getString("jMenu2.text")); // NOI18N
                            jMenu2.setName("jMenu2"); // NOI18N

                            jmni_escape.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0));
                            jmni_escape.setText(resourceMap.getString("jmni_escape.text")); // NOI18N
                            jmni_escape.setName("jmni_escape"); // NOI18N
                            jmni_escape.addActionListener(new java.awt.event.ActionListener() {
                                public void actionPerformed(java.awt.event.ActionEvent evt) {
                                    jmni_escapeActionPerformed(evt);
                                }
                            });
                            jMenu2.add(jmni_escape);

                            jMenuBar1.add(jMenu2);

                            setJMenuBar(jMenuBar1);

                            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
                            getContentPane().setLayout(layout);
                            layout.setHorizontalGroup(
                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(jTabbedPane1)
                            );
                            layout.setVerticalGroup(
                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(layout.createSequentialGroup()
                                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 572, Short.MAX_VALUE))
                            );

                            pack();
                        }// </editor-fold>//GEN-END:initComponents

    private void jmni_salirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmni_salirActionPerformed
        // TODO add your handling code here:
       if(JOptionPane.showConfirmDialog(null, "Realmente Desea Salir?")==0)
                {
                    this.dispose();
                }
    }//GEN-LAST:event_jmni_salirActionPerformed

    private void jmni_escapeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmni_escapeActionPerformed
        // TODO add your handling code here:
        this.jmni_salirActionPerformed(evt);
    }//GEN-LAST:event_jmni_escapeActionPerformed

    private void jrbtn_estemesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jrbtn_estemesActionPerformed
        // TODO add your handling code here:
        Calendar fechaini = Calendar.getInstance(); // obtiene la fecha actual
        fechaini.set(fechahoy.getYear()+1900,fechahoy.getMonth(), 1);
        this.jdc_fechainicial.setDate(fechaini.getTime());
        this.jdc_fechafinal.setDate(fechahoy);
}//GEN-LAST:event_jrbtn_estemesActionPerformed

    private void jrbtn_hoyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jrbtn_hoyActionPerformed
        // TODO add your handling code here:
        this.jdc_fechainicial.setDate(fechahoy);
        this.jdc_fechafinal.setDate(fechahoy);
}//GEN-LAST:event_jrbtn_hoyActionPerformed

    private void jrbtn_estasemanaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jrbtn_estasemanaActionPerformed
        // TODO add your handling code here:
        Calendar fechainisem = Calendar.getInstance(); // obtiene la fecha actual
        int diadesemana=fechainisem.get(Calendar.DAY_OF_WEEK)-2;
        System.out.println(diadesemana);
        fechainisem.add(Calendar.DATE, -diadesemana); // incrementa en 30 días la fecha actual.
        this.jdc_fechainicial.setDate(fechainisem.getTime());
        this.jdc_fechafinal.setDate(fechahoy);
}//GEN-LAST:event_jrbtn_estasemanaActionPerformed

    private void jrbtn_semanapasadaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jrbtn_semanapasadaActionPerformed
        // TODO add your handling code here:
        Calendar fechainisem = Calendar.getInstance(); // obtiene la fecha actual
        Calendar fechafinsem = Calendar.getInstance(); // obtiene la fecha actual
        int diadesemana=fechainisem.get(Calendar.DAY_OF_WEEK)+5;
        System.out.println(diadesemana);
        fechainisem.add(Calendar.DATE, -diadesemana); // incrementa en 30 días la fecha actual.
        this.jdc_fechainicial.setDate(fechainisem.getTime());

        diadesemana=fechafinsem.get(Calendar.DAY_OF_WEEK)-1;
        System.out.println(diadesemana);
        fechafinsem.add(Calendar.DATE, -diadesemana); // incrementa en 30 días la fecha actual.
        this.jdc_fechafinal.setDate(fechafinsem.getTime());
}//GEN-LAST:event_jrbtn_semanapasadaActionPerformed

    private void jrbtn_mespasadaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jrbtn_mespasadaActionPerformed
        // TODO add your handling code here:
        Calendar fechamesini = Calendar.getInstance(); // obtiene la fecha actual
        //establesemos la fecha en base a la de hoy menos 1 mes en el dia 1
        fechamesini.set(fechahoy.getYear()+1900,fechahoy.getMonth()-1, 1);
        this.jdc_fechainicial.setDate(fechamesini.getTime());
        //vemos cual fue el ultimo dia del mes anterior restando los dias del mes actual
        fechamesini = Calendar.getInstance(); // obtiene la fecha actual
        int diadelmesactua=fechamesini.get(Calendar.DAY_OF_MONTH);
        fechamesini.add(Calendar.DATE, -diadelmesactua); // se resta el numero de dias del mes
        this.jdc_fechafinal.setDate(fechamesini.getTime());
}//GEN-LAST:event_jrbtn_mespasadaActionPerformed

    private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButton1ActionPerformed
        // TODO add your handling code here:
        Calendar fechainisem = Calendar.getInstance(); // obtiene la fecha actual
        fechainisem.add(Calendar.DATE, -1); // incrementa en 30 días la fecha actual.
        this.jdc_fechainicial.setDate(fechainisem.getTime());
        this.jdc_fechafinal.setDate(fechainisem.getTime());
}//GEN-LAST:event_jRadioButton1ActionPerformed

    private void jrbtn_estemes1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jrbtn_estemes1ActionPerformed
        // TODO add your handling code here:
        Calendar fechaini = Calendar.getInstance(); // obtiene la fecha actual
        Calendar fechafin = Calendar.getInstance(); // obtiene la fecha actual
        fechaini.set(fechahoy.getYear()+1900,fechahoy.getMonth(), 1);
        this.jdc_fechainicial.setDate(fechaini.getTime());
        fechafin.set(fechahoy.getYear()+1900,fechahoy.getMonth()+1, 0);
        this.jdc_fechafinal.setDate(fechafin.getTime());
}//GEN-LAST:event_jrbtn_estemes1ActionPerformed

    private void jdc_fechainicialKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jdc_fechainicialKeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_jdc_fechainicialKeyPressed

    private void jbtn_totalesdiaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtn_totalesdiaActionPerformed
        // TODO add your handling code here:

        if(JOptionPane.showConfirmDialog(null, "Estan Correctos sus Datos?"+this.fechaeuropea(this.jdc_fechainicial.getDate())+" A "+this.fechaeuropea(this.jdc_fechafinal.getDate()))==0)
            {
            //this.iniciar_modelo_filas(this.jdc_fechainicial.getDate(),this.jdc_fechafinal.getDate());
    
            icorte=0;
            i0=0;
            i1=0;
            i2=0;
            i3=0;
            i4=0;
            i5=0;
            i6=0;
            i7=0;
            i9=0;
            i10=0;
            cuenta="-1";
            if ((indice==0)&&(i0==0))
                {
                    i0=1;
                    this.establecer_promocionesactivasf(this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),this.jtf_idsubfamilia.getText());
                }
            if ((indice==1)&&(i1==0))
                {
                    i1=1;
                    this.carga_datos_detalletipoventa(0,"0",this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),"");
                    this.carga_datos_puntos(0,"0",this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),"");

                }

        }
}//GEN-LAST:event_jbtn_totalesdiaActionPerformed

    private void jTabbedPane1AncestorAdded(javax.swing.event.AncestorEvent evt) {//GEN-FIRST:event_jTabbedPane1AncestorAdded
        // TODO add your handling code here:
       
    }//GEN-LAST:event_jTabbedPane1AncestorAdded

    private void jTabbedPane1StateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jTabbedPane1StateChanged
        // TODO add your handling code here:
indice=this.jTabbedPane1.getSelectedIndex();
if(visualisa>0)
    {
         if ((indice==0)&&(i0==0))
                {
                    i0=1;
                    this.establecer_promocionesactivasf(this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),this.jtf_idsubfamilia.getText());
                }
            if ((indice==1)&&(i1==0))
                {
                    i1=1;
                    this.carga_datos_detalletipoventa(0,"0",this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),"");
                    this.carga_datos_puntos(0,"0",this.fechaamericana(this.jdc_fechainicial.getDate()),this.fechaamericana(this.jdc_fechafinal.getDate()),"");

                }
    }
    }//GEN-LAST:event_jTabbedPane1StateChanged
      private void jt_puntosalclienteMouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
    }
    private void jtb_ventasxreferenciaMouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
        
    }
    private void jtb_promomonactivaMouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
    }
    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new ventas_sie_promociones().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JPanel jPanel7;
    private javax.swing.JRadioButton jRadioButton1;
    private javax.swing.JScrollPane jScrollPane14;
    private javax.swing.JScrollPane jScrollPane15;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane8;
    private javax.swing.JScrollPane jScrollPane9;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JButton jbtn_totalesdia;
    private com.toedter.calendar.JDateChooser jdc_fechafinal;
    private com.toedter.calendar.JDateChooser jdc_fechainicial;
    private javax.swing.JMenuItem jmni_escape;
    private javax.swing.JMenuItem jmni_salir;
    private javax.swing.JRadioButton jrbtn_estasemana;
    private javax.swing.JRadioButton jrbtn_estemes;
    private javax.swing.JRadioButton jrbtn_estemes1;
    private javax.swing.JRadioButton jrbtn_hoy;
    private javax.swing.JRadioButton jrbtn_mespasada;
    private javax.swing.JRadioButton jrbtn_semanapasada;
    private javax.swing.JTable jt_puntosalcliente;
    private javax.swing.JTable jt_puntosalcliente1;
    private javax.swing.JTable jt_puntosalcliente2;
    private javax.swing.JTable jtb_promomonactiva;
    private javax.swing.JTable jtb_promomonactiva1;
    private javax.swing.JTable jtb_ventasxreferencia;
    private javax.swing.JTable jtb_ventasxreferencia1;
    private javax.swing.JTextField jtf_idsubfamilia;
    private javax.swing.JTextField jtf_vapromocion;
    private javax.swing.JTextField jtf_vatienda;
    // End of variables declaration//GEN-END:variables

}
